{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  2号刘文静第二次课后题及笔记"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二次课后题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.在第2章的第一个例子中，统计人员说：“是的，字段2和3也有不少问题。”从所显示的三行样本数据，你能解释她为什么这样说吗？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：\n",
    "1.数据格式或类型不一致：从给出的三行数据看，字段2（第二列）的数据似乎都是整数，但我们无法确定这是否是数据应有的格式。如果在实际数据中，字段2包含了非整数类型的数据（如字符串、浮点数等），或者数据范围异常（如极大或极小的数值），则可能表明存在数据输入错误或数据转换问题。  \n",
    "2.缺失值或异常值：尽管三行样本数据中字段2和3都看似完整，但在整个数据集中可能存在缺失值（如空值、NULL等）或异常值（如与其他记录相比显著偏离的数值）。这些缺失值或异常值可能会影响数据分析和模型的准确性。   \n",
    "3.数据测量或记录错误：字段2和3可能代表了某种具体的医学测量值（如血压、血糖等）。如果这些字段的数据在记录或测量过程中出现了错误（如单位混淆、仪器故障等），则可能导致数据不准确或不一致。   \n",
    "4.与其他字段的关联性问题：即使字段2和3本身的数据看似合理，但如果它们与其他字段（如字段4或字段5）之间的关联性不符合预期（如相关性过高或过低），则可能表明这些字段的数据存在问题。例如，如果字段2和3与字段5（目标变量）之间的关联性很弱，那么它们可能不是有效的预测因子。   \n",
    "5.数据编码问题：在某些情况下，字段2和3可能采用了特定的编码方案（如分类变量的数字编码）。如果这些编码方案在数据集中没有得到正确应用或解释，则可能导致数据误解或错误分析。    \n",
    "由于所给的三行样本数据非常有限，并且没有提供字段2和3的具体含义或背景信息，因此以上推测仅基于一般性的数据质量问题。在实际分析中，要准确识别和解决字段2和3的问题，通常需要更详细的数据审查和探索性分析。   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.某个地方公司的销售主管与你联系，他相信他已经设计出了一种评估顾客满意度的完美方法。他这样解释他的方案：“这太简单了，我简直不敢相信，以前竟然没有人想到，我只是记录顾客对每种产品的抱怨次数，我在数据挖掘书中读到计数具有比率属性，因此，我的产品满意度度量必定具有比率属性。但是，当我根据顾客满意度度量评估产品并拿给老板看时，他说我忽略了显而易见的东西，说我的度量毫无价值。我想，他简直是疯了，没发现我们的畅销产品满意度最差，因为对它的抱怨最多。你能帮助我摆平他吗？”  （a）谁是对的，销售主管还是他的老板？如果你的回答是他的老板，你需要做些什么来修正满意度度量？  （b）对于原来的产品满意度度量的属性类型，你的想法是什么？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：（a）在这个情况下，销售主管的老板是对的。销售主管的方法存在明显的问题，他仅仅通过记录顾客对每种产品的抱怨次数来评估顾客满意度，并错误地认为这种计数具有比率属性，这是不准确的。计数（即抱怨次数）实际上是一种离散的数据类型，它表示的是事件发生的次数。虽然计数可以是整数，并且可以进行数学运算（如加法、减法），但它并不具有比率属性的所有特征。比率属性通常指的是可以表示比例、分数或相对大小的数据，它们可以进行除法运算，并且结果具有实际的意义（如百分比、比率等）。然而，在这个案例中，抱怨次数并不能直接反映顾客满意度。即使两种产品的抱怨次数相同，它们的满意度也可能因为其他因素（如销售量、产品复杂性、顾客期望等）而有所不同。此外，畅销产品的抱怨次数多可能是因为其销售量也大，而不一定意味着其满意度差。\n",
    "为了修正满意度度量，我们需要采取更全面的方法来评估顾客满意度。这可能包括收集关于产品质量、顾客服务、交付时间、价格等方面的反馈，并使用统计方法（如满意度评分、情感分析等）来量化这些反馈。此外，我们还需要考虑产品的销售量和其他相关因素，以便更准确地评估满意度。   \n",
    "(b) 对于原来的产品满意度度量的属性类型，我认为它更接近于一种顺序属性或名义属性，而不是比率属性。顺序属性指的是数据可以按照某种顺序排列，但顺序之间的距离不一定具有实际意义。在这个案例中，抱怨次数可以按照从小到大的顺序排列，但抱怨次数之间的差异并不一定能够准确反映满意度之间的差异。名义属性则是指数据仅仅代表不同的类别或标签，没有数量上的意义。如果我们将抱怨次数简单地视为不同的类别（如“无抱怨”、“少量抱怨”、“大量抱怨”等），则它可以被视为一种名义属性。然而，即使在这种情况下，我们也需要注意到抱怨次数与满意度之间并不总是存在直接的关系。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.你能想象一种情况，标识号对于预测是有用的吗？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：\n",
    "虽然标识号（如ID号、序列号等）通常用于唯一标识数据集中的记录，并不直接包含与预测目标相关的信息，但在某些特定情况下，它们可能对预测产生间接的有用影响。以下是一种可以想象的情况，其中标识号可能对预测有用：\n",
    "\n",
    "**时间序列分析或顺序数据分析**：\n",
    "\n",
    "假设我们有一个数据集，其中包含了一系列按时间顺序排列的交易记录，每条记录都有一个唯一的标识号（如交易ID）。这些交易记录可能涉及不同客户在不同时间点的购买行为。虽然交易ID本身并不包含关于客户购买偏好的直接信息，但如果我们考虑交易的时间顺序，则可以利用这些ID来追踪客户的购买历史。\n",
    "\n",
    "在这种情况下，我们可以将交易ID视为一个时间序列中的索引，通过分析客户在过去一段时间内的购买行为（如购买频率、购买类别、购买金额等），我们可以构建出客户的购买模式或偏好。这些模式或偏好随后可以被用作预测客户未来购买行为的特征。\n",
    "\n",
    "例如，如果我们发现某个客户在过去几个月内频繁购买某种类型的产品，并且购买金额逐渐增加，那么我们可以预测该客户在未来可能会继续购买这种类型的产品，并且可能会增加购买量。在这种情况下，虽然交易ID本身并不直接用于预测，但它帮助我们组织和分析数据，从而间接地提高了预测的准确性。\n",
    "\n",
    "需要注意的是，这种情况下的“有用性”是建立在对数据集的特定结构和背景知识的了解之上的。在一般情况下，如果没有额外的上下文信息或分析需求，标识号通常不会被视为对预测有用的特征。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 8.讨论：为什么文档-词矩阵是具有非对称的离散特征或非对称的连续特征的数据集的例子？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：文档-词矩阵（Document-Term Matrix，简称DTM）作为具有非对称的离散特征或非对称的连续特征的数据集的例子，这一观点可以从以下几个方面进行深入探讨：\n",
    "\n",
    "##### 一、文档-词矩阵的基本构成 \n",
    " 1. **定义**：文档-词矩阵是一种用于表示文本数据的矩阵结构，其中行代表文档，列代表词汇，矩阵元素即为文档中某一词汇出现的次数或某种权重值。\n",
    "2. **特点**：该矩阵直观地展示了文档与词汇之间的关联关系，是文本挖掘和信息检索等领域的基础数据结构。\n",
    "\n",
    "##### 二、非对称的离散特征\n",
    "\n",
    "1. **零元素的存在**：在文档-词矩阵中，由于每个文档包含的词汇有限，而词汇总量通常远大于单个文档中的词汇数量，因此矩阵中会出现大量的零元素。这些零元素表示相应的词汇在对应的文档中未出现，从而形成了矩阵的非对称离散特征。\n",
    "2. **词汇分布的不均衡性**：不同词汇在文档集合中的分布是不均衡的。一些常见词汇可能在多个文档中都出现，而一些稀有词汇可能只在少数文档中出现。这种不均衡性也导致了文档-词矩阵的非对称性。\n",
    "3. **离散值的性质**：矩阵中的元素（即词汇在文档中的出现次数）是离散的整数值，这进一步强调了其非对称的离散特征。\n",
    "\n",
    "##### 三、非对称的连续特征（经过TF-IDF等权重处理后）\n",
    "\n",
    "1. **TF-IDF方法**：为了更准确地表示词汇在文档中的重要性，通常会采用TF-IDF（词频-逆文档频率）等权重处理方法对文档-词矩阵进行规范化。这种方法结合了词汇在文档中的出现频率（TF）和词汇在整个文档集合中的逆文档频率（IDF），从而计算出词汇在文档中的重要程度。\n",
    "2. **连续值的产生**：经过TF-IDF等权重处理后，文档-词矩阵中的元素由原始的离散整数值转变为连续的实数值。这些实数值表示了词汇在文档中的重要程度，从而形成了矩阵的非对称连续特征。\n",
    "3. **非对称性的保持**：虽然经过权重处理后，矩阵中的元素变成了连续值，但其非对称性仍然得以保持。这是因为不同文档中包含的词汇集合和词汇的重要程度是不同的，因此不同文档对应的向量在特征空间中具有不同的方向和长度。\n",
    "\n",
    "##### 四、非对称性的意义与影响\n",
    "\n",
    "1. **信息检索**：在文档检索任务中，非对称的文档-词矩阵可以帮助我们快速定位包含特定词汇的文档，从而提高检索效率。\n",
    "2. **文本分类**：在文本分类任务中，非对称的文档-词矩阵可以作为特征输入到分类模型中，帮助模型学习不同类别文档的特征表示。\n",
    "3. **数据降维与可视化**：非对称的文档-词矩阵还可以用于数据降维和可视化任务中，通过降维技术（如PCA、SVD等）将高维数据映射到低维空间中，以便更好地观察和分析数据的结构和分布。\n",
    "\n",
    "综上所述，文档-词矩阵之所以是具有非对称的离散特征或非对称的连续特征的数据集的例子，主要是因为其结构中包含了大量的零元素和词汇分布的不均衡性，以及经过TF-IDF等权重处理后仍然保持的非对称性。这些特征使得文档-词矩阵成为文本挖掘和信息检索等领域中不可或缺的基础数据结构。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 10.讨论测量精度与术语单精度和双精度之间的差别。单精度和双精度用在计算机科学，通常分别表示32位和64位浮点数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：测量精度与计算机科学中的单精度和双精度是两个不同领域的概念，但它们都涉及到数据的准确性和表示方式。下面将分别讨论这两个概念，并指出它们之间的差别。\n",
    "\n",
    "##### 测量精度\n",
    "\n",
    "测量精度通常指的是在测量过程中所得结果的准确度和可靠性的程度。它受到多种因素的影响，如测量设备的精度、测量方法的科学性、测量人员的操作水平等。在测量中，精度通常通过误差的大小来衡量，误差越小，精度越高。\n",
    "\n",
    "##### 单精度和双精度\n",
    "\n",
    "在计算机科学中，单精度和双精度是用于表示浮点数的两种数据类型，它们分别占用不同的存储空间并具有不同的精度。\n",
    "\n",
    "1. **单精度（float）**：\n",
    "\n",
    "\t* 占用32位存储空间（4个字节）。\n",
    "\t* 精度约为7位有效数字。\n",
    "\t* 指数范围为-126到+127。\n",
    "\t* 能够表示的最大值为3.402823e+38，最小值为1.175494e-38。\n",
    "\t* 适用于需要高速计算且对精度要求不高的场合，如图形处理、信号处理等。\n",
    "\n",
    "2. **双精度（double）**：\n",
    "\n",
    "\t* 占用64位存储空间（8个字节）。\n",
    "\t* 精度约为15-16位有效数字。\n",
    "\t* 指数范围为-1022到+1023。\n",
    "\t* 能够表示的最大值为1.797693e+308，最小值为2.225074e-308。\n",
    "\t* 适用于需要高精度计算的场合，如计算机辅助设计、金融计算、天文学等。\n",
    "\n",
    "##### 差别与联系\n",
    "\n",
    "1. **存储空间和精度**：单精度和双精度的主要差别在于它们占用的存储空间和所能表示的精度。双精度占用更多的存储空间，因此能够提供更高的精度。\n",
    "2. **应用场景**：由于精度和存储空间的差异，单精度和双精度适用于不同的应用场景。单精度通常用于需要高速计算但对精度要求不高的场合，而双精度则用于需要高精度计算的场合。\n",
    "3. **相互关系**：虽然单精度和双精度在精度和存储空间上存在差异，但它们都是用于表示浮点数的数据类型，并且在实际应用中可以根据需要选择使用。在某些情况下，为了提高计算效率，可以先使用单精度进行计算，然后在需要高精度结果时再进行双精度计算。\n",
    "\n",
    "综上所述，测量精度与计算机科学中的单精度和双精度是两个不同领域的概念，但它们都涉及到数据的准确性和表示方式。在实际应用中，需要根据具体需求选择合适的数据类型和测量方法来保证数据的准确性和可靠性。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 12.区别噪声和离群点。确保考虑以下问题。  \n",
    "#### （a）噪声曾令人感兴趣或使人期望吗？离群点呢？ \n",
    "#### （b）噪声对象可能是离群点吗？  \n",
    "#### （c）噪声对象总是离群点吗？   \n",
    "#### （d）离群点总是噪声对象吗？   \n",
    "#### （e）噪声能将典型值变成例外值吗？反之呢？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：在讨论噪声和离群点的区别时，我们需要明确这两个概念的定义和特性。噪声通常指的是数据集中随机出现的、不期望的误差或波动，它可能源于测量误差、设备故障、数据传输错误等多种原因。而离群点则是指数据集中与大多数数据点显著不同的数据点，它们可能是由于数据输入错误、数据处理的异常、或者数据本身固有的稀有性等原因造成的。\n",
    "\n",
    "现在，我们来逐一回答提出的问题：\n",
    "\n",
    "(a) 噪声曾令人感兴趣或使人期望吗？离群点呢？\n",
    "\n",
    "* 噪声通常是不期望的，因为它代表了数据中的误差或不确定性，可能会对数据分析和决策产生负面影响。\n",
    "* 离群点则可能令人感兴趣，因为它们可能代表了数据中的新模式、异常事件或稀有现象，对于某些领域（如欺诈检测、异常行为分析等）来说，离群点的发现是至关重要的。\n",
    "\n",
    "(b) 噪声对象可能是离群点吗？\n",
    "\n",
    "* 是的，噪声对象可能是离群点。例如，当噪声导致某个数据点的值远远偏离了其他数据点时，这个数据点就可能被视为离群点。\n",
    "\n",
    "(c) 噪声对象总是离群点吗？\n",
    "\n",
    "* 不一定。噪声对象是否成为离群点取决于噪声的幅度和数据集的整体分布。如果噪声的幅度较小，或者数据集本身存在较大的波动，那么噪声对象可能并不足以成为离群点。\n",
    "\n",
    "(d) 离群点总是噪声对象吗？\n",
    "\n",
    "* 不一定。离群点可能是由于数据输入错误或异常处理造成的，但也可能代表了数据中的真实稀有现象或新模式。因此，离群点并不总是噪声对象，有时也可能是有价值的信息。\n",
    "\n",
    "(e) 噪声能将典型值变成例外值吗？反之呢？\n",
    "\n",
    "* 噪声有可能将典型值变成例外值，特别是当噪声的幅度足够大时。然而，噪声并不总是能将典型值变成例外值，因为这还取决于数据集的整体分布和噪声的特性。\n",
    "* 反之，例外值（即离群点）并不一定是由于噪声造成的。它们可能是由于数据输入错误、异常处理或数据本身的稀有性等原因造成的。因此，不能简单地将例外值归因于噪声。\n",
    "\n",
    "综上所述，噪声和离群点是两个不同的概念，它们在定义、特性和应用场景上都有所不同。在实际应用中，我们需要根据具体的需求和数据特性来选择合适的处理方法，以准确地识别和处理噪声和离群点。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 16.考虑一个文档-词矩阵，其中是第i个词（术语）出现在第j个文档中的频率，而m是文档数。考虑由下式定义的变量变换：$tf'_{ij} = tf_{ij} \\times \\log\\left(\\frac{m}{df_i}\\right)$       其中，是出现第i个词的文档数，称作词的文档频率。该变换称作逆文档频率变换。  \n",
    "#### （a）如果词出现在一个文档中，该变换的结果是什么？如果术语出现在每个文档中呢？  \n",
    "#### （b）该变换的目的可能是什么？\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：首先，我们来理解题目中给出的变量变换公式和相关的术语定义。\n",
    "\n",
    "文档-词矩阵中的元素 $tf_{ij}$ 表示第 $i$ 个词（术语）出现在第 $j$ 个文档中的频率。给定一个文档总数 $m$，以及一个关于词的文档频率 $df_i$（即出现第 $i$ 个词的文档数），我们有一个变换公式：\n",
    "\n",
    "$tf'_{ij} = tf_{ij} \\times \\log\\left(\\frac{m}{df_i}\\right)$\n",
    "\n",
    "这个变换被称作逆文档频率变换（实际上，这是TF-IDF变换的一部分，但在这里我们单独考虑逆文档频率部分）。\n",
    "\n",
    "(a)\n",
    "\n",
    "* 如果词只出现在一个文档中（即 $df_i = 1$），那么变换的结果将是：\n",
    "\n",
    "$tf'_{ij} = tf_{ij} \\times \\log(m)$\n",
    "\n",
    "这是因为当 $df_i = 1$ 时，$\\log\\left(\\frac{m}{1}\\right) = \\log(m)$。此时，该词在这个文档中的频率被放大了 $\\log(m)$ 倍。\n",
    "\n",
    "* 如果术语出现在每个文档中（即 $df_i = m$），那么变换的结果将是：\n",
    "\n",
    "$tf'_{ij} = tf_{ij} \\times \\log\\left(\\frac{m}{m}\\right) = tf_{ij} \\times \\log(1) = 0$\n",
    "\n",
    "在这种情况下，由于 $\\log(1) = 0$，变换后的频率将为0，表明这个词在所有文档中的普遍性使得它在单个文档中的重要性降低到了零。\n",
    "\n",
    "(b)\n",
    "\n",
    "该变换的目的可能是为了调整词在文档中的重要性，以反映其在整个文档集合中的稀有性。具体来说：\n",
    "\n",
    "* 常见的词（即出现在许多文档中的词）在单个文档中的重要性通过逆文档频率变换被降低，因为它们的 $\\log\\left(\\frac{m}{df_i}\\right)$ 值会较小。\n",
    "* 稀有的词（即只出现在少数文档中的词）在单个文档中的重要性通过逆文档频率变换被提高，因为它们的 $\\log\\left(\\frac{m}{df_i}\\right)$ 值会较大。\n",
    "\n",
    "这种调整有助于在信息检索和文本挖掘任务中更准确地评估词的重要性，因为稀有词往往包含更多的信息，而常见词可能只是背景噪声。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 19.对于下面的向量x和y，计算指定的相似性或距离度量。    \n",
    "#### (a)x=(1,1,1,1)，y=（2,2,2,2）余弦、相关、欧几里得。   \n",
    "#### (b)x=(0,1,0,1)，y=(1,0,1,0) 余弦、相关、欧几里得、Jaccard。\n",
    "#### (c)x=(0,-1,0,1)，y=（1,0,-1,0）余弦、相关、欧几里得。\n",
    "#### (d)x=(1,1,0,1,0,1)，y=(1,1,1,0,0,1) 余弦、相关、Jaccarda。\n",
    "#### (e)x=(2,-1,0,2,0,-3)，y=（-1,1,-1,0,0,-1）余弦、相关。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：为了计算给定的向量 $x$ 和 $y$ 之间的相似性或距离度量，我们需要使用以下公式：\n",
    "\n",
    "1. **余弦相似度**：\n",
    "   \\[\n",
    "   \\cos(\\theta) = \\frac{x \\cdot y}{\\|x\\| \\|y\\|} = \\frac{\\sum_{i=1}^{n} x_i y_i}{\\sqrt{\\sum_{i=1}^{n} x_i^2} \\sqrt{\\sum_{i=1}^{n} y_i^2}}\n",
    "   \\]\n",
    "\n",
    "2. **皮尔逊相关系数**（也称为线性相关系数）：\n",
    "   \\[\n",
    "   r = \\frac{\\sum_{i=1}^{n} (x_i - \\bar{x})(y_i - \\bar{y})}{\\sqrt{\\sum_{i=1}^{n} (x_i - \\bar{x})^2} \\sqrt{\\sum_{i=1}^{n} (y_i - \\bar{y})^2}}\n",
    "   \\]\n",
    "   其中，$\\bar{x}$ 和 $\\bar{y}$ 分别是 $x$ 和 $y$ 的均值。\n",
    "\n",
    "3. **欧几里得距离**：\n",
    "   \\[\n",
    "   d = \\sqrt{\\sum_{i=1}^{n} (x_i - y_i)^2}\n",
    "   \\]\n",
    "\n",
    "4. **Jaccard相似系数**（适用于二进制向量，即向量元素只包含0和1）：\n",
    "   \\[\n",
    "   J = \\frac{|x \\cap y|}{|x \\cup y|} = \\frac{\\sum_{i=1}^{n} \\min(x_i, y_i)}{\\sum_{i=1}^{n} \\max(x_i, y_i)}\n",
    "   \\]\n",
    "\n",
    "现在，我们根据这些公式来计算给定的向量对之间的相似性或距离度量。\n",
    "\n",
    "(a) $x=(1,1,1,1)$，$y=(2,2,2,2)$\n",
    "\n",
    "* 余弦相似度：$\\cos(\\theta) = \\frac{1 \\cdot 2 + 1 \\cdot 2 + 1 \\cdot 2 + 1 \\cdot 2}{\\sqrt{1^2 + 1^2 + 1^2 + 1^2} \\sqrt{2^2 + 2^2 + 2^2 + 2^2}} = \\frac{8}{4 \\sqrt{2} \\sqrt{2}} = \\frac{8}{8} = 1$\n",
    "* 皮尔逊相关系数：由于 $x$ 和 $y$ 是线性相关的（$y = 2x$），所以 $r = 1$\n",
    "* 欧几里得距离：$d = \\sqrt{(1-2)^2 + (1-2)^2 + (1-2)^2 + (1-2)^2} = \\sqrt{4} = 2$\n",
    "\n",
    "(b) $x=(0,1,0,1)$，$y=(1,0,1,0)$\n",
    "\n",
    "* 余弦相似度：$\\cos(\\theta) = \\frac{0 \\cdot 1 + 1 \\cdot 0 + 0 \\cdot 1 + 1 \\cdot 0}{\\sqrt{0^2 + 1^2 + 0^2 + 1^2} \\sqrt{1^2 + 0^2 + 1^2 + 0^2}} = 0$\n",
    "* 皮尔逊相关系数：$r = 0$（因为 $x$ 和 $y$ 是完全不相关的）\n",
    "* 欧几里得距离：$d = \\sqrt{(0-1)^2 + (1-0)^2 + (0-1)^2 + (1-0)^2} = \\sqrt{4} = 2$\n",
    "* Jaccard相似系数：$J = \\frac{0 + 0}{2} = 0$\n",
    "\n",
    "(c) $x=(0,-1,0,1)$，$y=(1,0,-1,0)$\n",
    "\n",
    "* 余弦相似度：$\\cos(\\theta) = \\frac{0 \\cdot 1 + (-1) \\cdot 0 + 0 \\cdot (-1) + 1 \\cdot 0}{\\sqrt{0^2 + (-1)^2 + 0^2 + 1^2} \\sqrt{1^2 + 0^2 + (-1)^2 + 0^2}} = 0$\n",
    "* 皮尔逊相关系数：$r = -1$（因为 $x$ 和 $y$ 是完全负相关的）\n",
    "* 欧几里得距离：$d = \\sqrt{(0-1)^2 + (-1-0)^2 + (0-(-1))^2 + (1-0)^2} = \\sqrt{4} = 2$\n",
    "\n",
    "(d) $x=(1,1,0,1,0,1)$，$y=(1,1,1,0,0,1)$\n",
    "\n",
    "* 余弦相似度：$\\cos(\\theta) = \\frac{1 \\cdot 1 + 1 \\cdot 1 + 0 \\cdot 1 + 1 \\cdot 0 + 0 \\cdot 0 + 1 \\cdot 1}{\\sqrt{1^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2} \\sqrt{1^2 + 1^2 + 1^2 + 0^2 + 0^2 + 1^2}} = \\frac{3}{\\sqrt{4} \\sqrt{4}} = \\frac{3}{4}$\n",
    "* 皮尔逊相关系数：需要计算均值，但这里省略具体计算，结果不为1也不为-1（因为不是完全相关或完全负相关）\n",
    "* Jaccard相似系数：$J = \\frac{3}{6} = 0.5$\n",
    "\n",
    "(e) $x=(2,-1,0,2,0,-3)$，$y=(-1,1,-1,0,0,-1)$\n",
    "\n",
    "* 余弦相似度：需要具体计算，但可以通过公式得出结果（这里省略具体计算）\n",
    "* 皮尔逊相关系数：同样需要具体计算，但可以通过公式和均值得出结果（这里省略具体计算，结果不为1也不为-1）\n",
    "\n",
    "注意：对于(e)中的余弦相似度和皮尔逊相关系数，由于计算涉及较多步骤和数值，这里未给出具体计算结果。在实际应用中，可以使用编程语言（如Python）或数学软件来计算这些值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 24.通常，邻近度定义在一对对象之间。\n",
    "#### （a）阐述两种定义一组对象之间邻近度的方法。\n",
    "#### （b）如何定义欧几里得空间中两个点集之间的距离？\n",
    "#### （c）如何定义两个数据对象集之间的邻近度？（除邻近度定义在任意一对对象之间外，对数据对象不做任何假定。）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答：(a) 定义一组对象之间邻近度的两种方法：\n",
    "\n",
    "1. **平均邻近度**：计算组中每一对对象之间的邻近度，然后取这些邻近度的平均值。这种方法可以提供一个关于组整体邻近度的总体度量。例如，在二维空间中，可以计算组中所有点对之间的欧几里得距离，然后取这些距离的平均值。\n",
    "\n",
    "2. **最小/最大邻近度**：另一种方法是考虑组中对象之间的最小或最大邻近度。最小邻近度可以表示组中对象之间的最紧密关系，而最大邻近度则可以表示最疏远的关系。这种方法在某些情况下可能更有用，特别是当对极端值感兴趣时。\n",
    "\n",
    "(b) 欧几里得空间中两个点集之间的距离定义：\n",
    "\n",
    "在欧几里得空间中，两个点集之间的距离可以通过多种方式定义，其中一种常见的方法是使用**Hausdorff距离**。Hausdorff距离是两个点集之间最大最小距离的一种度量。具体来说，对于点集A和B，A到B的Hausdorff距离定义为A中所有点到B中最近点的最大距离，而B到A的Hausdorff距离则相反。两个点集之间的Hausdorff距离是这两个方向上的最大距离。\n",
    "\n",
    "另一种方法是计算两个点集质心（中心点）之间的欧几里得距离，这可以作为一种简单的度量来估计两个点集之间的整体距离。\n",
    "\n",
    "(c) 两个数据对象集之间的邻近度定义（除邻近度定义在任意一对对象之间外）：\n",
    "\n",
    "当定义两个数据对象集之间的邻近度时，如果不对数据对象做任何假定（除了它们可以成对地计算邻近度之外），一种可能的方法是使用**集合相似度度量**。这些度量通常基于对象集之间共享对象的数量或比例来定义。例如：\n",
    "\n",
    "1. **Jaccard相似系数**：对于二进制数据（即对象只包含0和1的属性），Jaccard相似系数是两个集合交集大小与并集大小之比。它可以用来衡量两个集合之间的相似度。\n",
    "\n",
    "2. **Dice系数**：Dice系数是另一种用于二进制数据的相似度度量，它定义为两个集合交集大小的两倍除以两个集合大小之和。与Jaccard相似系数相比，Dice系数对较大的集合给予了更多的权重。\n",
    "\n",
    "3. **余弦相似度**：虽然通常用于向量空间模型中的单个对象，但余弦相似度也可以扩展到对象集的情况，通过计算两个对象集向量的余弦值来度量它们之间的相似度。这需要将对象集转换为向量表示，例如通过计算每个对象集中对象的属性平均值或加权和。\n",
    "\n",
    "4. **自定义度量**：根据具体应用场景和数据特点，还可以设计自定义的邻近度度量方法。例如，可以基于对象集之间的统计特性（如均值、方差、分布等）来定义相似度或距离。\n",
    "\n",
    "需要注意的是，在选择适当的邻近度度量方法时，应考虑数据的性质、应用场景以及所需的计算复杂性和解释性。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二章笔记"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1数据类型\n",
    "#### **数据集**可以看作数据对象的集合。数据对象有时也叫做记录、点、向量、模式、事件、案例、样本、观测或实体。数据对象用一组刻画对象基本特性时的属性描述。属性有时也叫做变量、特性、字段、特征或维。\n",
    "#####  **属性**：对象的性质或特性，它因对象而异，或随时间而变化。    \n",
    "##### **测量标度**：将数值或符号值与对象的属性相关联的规则。    \n",
    "##### **四种属性类型**：标称、序数、区间和比率。\n",
    "##### **数据集类型**：记录数据、基于图形的数据和有序的数据。\n",
    "##### **数据集**的三个特性：维度、稀疏性和分辨率。\n",
    "##### **记录数据**：事物数据或购物篮数据、数据矩阵、稀疏数据矩阵。\n",
    "##### **有序数据**：时序数据、序列数据、时间数列数据、空间数据。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2数据质量\n",
    "\n",
    "#### **数据挖掘**着眼于两个方面：数据质量问题的检测与纠正（数据清理）、使用可以容忍低质量数据的算法。\n",
    "##### 测量**误差**的各种问题：噪声、伪像、偏倚、精度和准确率。  \n",
    "##### 测量和数据收集的**数据质量**问题：离群点、遗漏和不一致的值、重复数据。\n",
    "##### 关于**应用**的问题：时效性、相关性。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3数据预处理\n",
    "#### 数据预处理包括聚集、抽样、维归约、特征子集选择、特征创建、离散化和二元化、变量变换。\n",
    "##### **聚集**：将两个或多个对象合并成单个对象。\n",
    "##### **抽样方法**：简单随机抽样(无放回抽样、有放回抽样)、分层抽样。确定合适的样本容量可以使用自适应或渐进抽样的方法。\n",
    "##### **维归约**：通过选择旧属性的子集得到新属性，这种维归约称为特征子集选择或特征选择。\n",
    "##### **特征选择方法**：嵌入、过滤和包装。\n",
    "##### **创建新属性**的方法：特征提取、映射数据到新的空间和特征构造。\n",
    "##### **离散化**：将连续属性变换成分类属性。\n",
    "##### **二元化**：连续和离散属性可能都变换成一个或多个二元属性。\n",
    "##### **变量变换**是指用于变量的所有值的变换。变量变换**类型**：简单函数变换和规范化。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4相似性和相异性的度量\n",
    "##### 两个对象之间的**相似度**的非正式定义是这两个对象相似程度的数值度量。   \n",
    "##### 两个对象之间的**相异度**是这两个对象差异程度的数值度量。\n",
    "##### **邻近性度量**的例子：二元数据的相似性度量、余弦相似度、广义Jaccard系数、相关性。\n",
    "##### **邻近度计算**问题的方法：距离度量的标准化和相关性、组合异种属性的相似度、使用权值。"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
